﻿using AutoMapper;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace Paperless.Entities
{
    public class Transaction : Entity
    {
        [Required]
        public string Name { get; set; }
        public string TransactionNo { get; set; }
        public DateTime? CloseDate { get; set; }
        public DateTime? ExpiredDate { get; set; }
        public DateTime? AcceptanceDate { get; set; }
        public string BuyerName { get; set; }
        public string SellerName { get; set; }
        public double ListPrice { get; set; }
        public double SellPrice { get; set; }
        public double TotalCommission { get; set; }
        public string CommissionSummary { get; set; }
        public string MoreInfo { get; set; }
        public string OutsideListingAgent { get; set; }
        public string OutsideSellingAgent { get; set; }

        public bool IncludedInNextMonthlyBackup { get; set; }

        public long LocationId { get; set; }
        public long StatusId { get; set; }
        public long? StaffId { get; set; }

        public virtual Location Location { get; set; }
        public virtual Status Status { get; set; }

        public virtual ICollection<Agent> AssignAgents { get; set; }
        public virtual ICollection<Contact> Contacts { get; set; }
        public virtual User Staff { get; set; }
        public virtual ICollection<Note> Notes { get; set; }
    }

    public class Status : Entity
    {
        public string Name { get; set; }
    }

    

    public class Category : Entity
    {
        public string Name { get; set; }
        public string Description { get; set; }

    }

    public class CheckList : Entity
    {
        public string Name { get; set; }
        // base on User create
        public long LocationId { get; set; }  

    }

    public class CheckListTask : Entity
    {
        public string Name { get; set; }
        public int Days { get; set; }
        public int Compare { get; set; }
        public int DateType { get; set; }
        public int Priority { get; set; }
    }
}